﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace TangoFamilyAndGuide.Site
{
    public partial class ProfesorModificar : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (Funciones.SessionTimeOut(Session))
                {
                    Response.Redirect("~/SessionTimeout.aspx");
                }
                else
                {
                    Entidades.Sesion sesion = (Entidades.Sesion)Session["Sesion"];
                    List<Entidades.Permiso> permisoHabilitado = sesion.Usuario.Permisos.FindAll(delegate(Entidades.Permiso p)
                    {
                        return p.TipoPermiso.Id == "OperTeacher" && p.Estado == "Active";
                    });
                    if (permisoHabilitado.Count == 0)
                    {
                        Response.Redirect("~/Home.aspx");
                    }

                    EstiloDropDownList.DataSource = Entidades.EstilosTango.EstiloTango.ListaMasSinInformar();
                    TipoProfesorDropDownList.DataSource = Entidades.TiposProfesor.TipoProfesor.ListaMasSinInformar();
                    NombreTextBox.Focus();
                    DataBind();
                    
                    Entidades.Profesor profesor = (Entidades.Profesor)Session["Profesor"];

                    IdProfesorLabel.Text = profesor.Id.ToString();
                    EstadoActualLabel.Text = "Current status: " + profesor.Estado;

                    sesion.Usuario.Id = profesor.Usuario.Id;
                    NombreTextBox.Text = profesor.Nombre;
                    DescripcionTextBox.Text = profesor.Descripcion;
                    Domicilio.Direccion = profesor.Direccion;
                    Domicilio.Pais = profesor.Pais;
                    Domicilio.Provincia = profesor.Provincia;
                    Domicilio.Localidad = profesor.Localidad;
                    Domicilio.CodPost = profesor.CodPost;
                    Domicilio.Telefono = profesor.Telefono;

                    EmailTextBox.Text = profesor.Email;
                    WebSiteTextBox.Text = profesor.WebSite;
                    YouTubeTextBox.Text = profesor.YouTube;
                    FacebookTextBox.Text = profesor.Facebook;
                    
                    EstiloDropDownList.SelectedValue = profesor.Estilo;
                    TipoProfesorDropDownList.SelectedValue = profesor.TipoProfesor;

                    NombreTextBox.Focus();
                    DataBind();
                }
            }
        }
        protected void AceptarButton_Click(object sender, EventArgs e)
        {
            if (Funciones.SessionTimeOut(Session))
            {
                Response.Redirect("~/SessionTimeout.aspx");
            }
            else
            {
                Entidades.Sesion sesion = (Entidades.Sesion)Session["Sesion"];
                Entidades.Profesor profesorDesde = (Entidades.Profesor)Session["Profesor"];
                Entidades.Profesor profesorHasta = RN.Profesor.ObtenerCopia(profesorDesde);
                try
                {
                    profesorHasta.Id = Convert.ToInt32(IdProfesorLabel.Text);
                    profesorHasta.Usuario.Id = sesion.Usuario.Id;
                    profesorHasta.Nombre = NombreTextBox.Text;
                    profesorHasta.Descripcion = DescripcionTextBox.Text;
                    profesorHasta.Direccion = Domicilio.Direccion;
                    profesorHasta.Pais = Domicilio.Pais;
                    profesorHasta.Provincia = Domicilio.Provincia;
                    profesorHasta.Localidad = Domicilio.Localidad;
                    profesorHasta.CodPost = Domicilio.CodPost;
                    profesorHasta.Telefono = Domicilio.Telefono;


                    profesorHasta.Email = EmailTextBox.Text;
                    profesorHasta.WebSite = WebSiteTextBox.Text;

                    profesorHasta.Facebook = FacebookTextBox.Text;
                    profesorHasta.YouTube = YouTubeTextBox.Text;
                    profesorHasta.Estilo = EstiloDropDownList.SelectedValue;
                    profesorHasta.TipoProfesor = TipoProfesorDropDownList.SelectedValue;

                    RN.Profesor.Modificar(profesorDesde, profesorHasta, sesion);

                    NombreTextBox.Enabled = false;
                    DescripcionTextBox.Enabled = false;
                    Domicilio.Enabled = false;
                    EmailTextBox.Enabled = false;
                    WebSiteTextBox.Enabled = false;
                    FacebookTextBox.Enabled = false;
                    YouTubeTextBox.Enabled = false;
                    EstiloDropDownList.Enabled = false;
                    TipoProfesorDropDownList.Enabled = false;
                    AceptarButton.Enabled = false;
                    SalirButton.Text = "Salir";

                    MensajeLabel.Text = "There was successfully. ";
                }
                catch (Exception ex)
                {
                    MensajeLabel.Text = EX.Funciones.Detalle(ex);
                    return;
                }
            }
        }
    }
}